In the digital signal processing, calculation based on a floating point has an advantage that a high precision can be obtained even when a range of values of signal data dealt with is wide. On the other hand, it has a problem that circuit scale and electric power consumption are large since it needs complicated circuits. Calculation based on a fixed point has an advantage that a circuit is simple, and circuit scale and electric power consumption are small. On the other hand, it has a problem that an arithmetic calculation precision is low.
In contrast, as an arithmetic method having advantages of both the fixed point and the floating point, calculation based on a block floating point is known. In the calculation based on the block floating point, a plurality pieces of signal data are bundled as one block, the whole block is normalized in such a way that each block has a common exponent.
More in detail, in the block floating point processing, the normalization processing of a block floating point is performed in the following steps (patent literature 1 and patent literature 2, for example).
(1) Obtain the maximum exponent for all pieces of data in a block
(2) Carry out shift operation (normalize) for the whole of the block with the maximum exponent.
Here, “maximum exponent” indicates the maximum exponent which does not cause an overflow for any piece of data in the block. The maximum exponent is equivalent to an exponent value of a piece of data whose absolute value is maximum among all pieces of data in the block.